Client and server system

ABSTRACT

An internet on-demand system for television presents internet content and traditional television programming as part of a single coherent interface. The system includes a server and a client capable of providing a dynamic graphical user interface. The system can display an internet gateway interface which actively scrolls through and highlights links to selected web pages which are organized according to templates corresponding to their content. The web pages are presented on the graphical user interface as channels as part of the same milieu as channels of traditional television programming. The user can select a channel from a rotary menu wheel or via channel-up, channel-down buttons on the remote control device. An intelligent agent passively filters selected web pages for a user to explore based on the user&#39;s past pattern of usage of the client. The server queries the client regarding its available data stream connections, including telephone modems, cable modems, wireless telecommunications and digital satellite broadcasting, regarding its ability to detect embedded data in TV signals, in order to determine the most efficient delivery of different types of data through all of the available bandwidth connections for both directions of data flow. The efficient delivery of data allows the client to present text, graphics, video, audio and other multimedia information from a web page over the internet as a coordinated presentation.

BACKGROUND OF THE INVENTION

The present invention relates generally to a client and server systemfor presenting multimedia information and, more particularly, to anintegrated internet on-demand system for television.

The internet is a collection of networks, including those maintained bycommercial backbone providers such as MCI, PSINet, UUNET, and Sprint.The term “internet” applies to this entire set of interconnectingnetworks. Domain names, such as uspto.gov, are unique internet serveraddresses which function as the cyberspace addresses for organizationsconnected to the internet.

Interest in the internet has been increasing recently, especially inregard to e-mail and what has become known as the World Wide Web, whichallows information on the internet to be presented through a graphicalinterface. The World Wide Web is a major client-server system, withmillions of users, and is essentially a vast collection ofinterconnected documents.

Typically, on the internet, a larger computer is a server and a smallercomputer is a client. A client can be a personal computer which isassociated with the user. The client computer is connected to theinternet via a modem connection, typically to a server at apoint-of-presence (POP), the location of an access point to theinternet. A client can use any of the servers, and often uses a seriesof them. The primary purpose of a server is to deliver a document onrequest to a client. The document may be text, an image file, or othertype of file. The document is identified by a name called a UniformResource Locator (“URL”) which typically includes the domain name of anorganization. If the server is storing that particular URL, then theserver delivers the document at that URL to the client in response.

Browsing software (i.e., web browsers) allow client users to request anddisplay text and graphics, typically from a Hyper Text Markup Language(“html”) document or web page identified by a URL on a web site server.When accessing web pages over the internet, a client user may referencean html document containing hypertext links to other documents, whichmay have URL addresses to different servers. When a link is selected,the browser is expected to fetch the new document and display it inplace of the current one. In this manner, information from differentinternet servers can be linked together through documents containingsuch links. These links may be organized according to topics so that thelinks grouped under a particular topic relate to addresses for web pageswhich deal with related subject matter. For example, the U.S. House ofRepresentatives' web server hosts html documents at URL addresshttp://law.house.gov which contain links to a variety of other web pagesgenerally relating to legal issues, including patent law. However, theselinks are presented to the user in a static manner, often with littleguiding information.

Requesting web pages from servers using a client browser is commonlyreferred to colloquially as surfing the web. Although the use ofanimation, as well as audio and video, is becoming more common, themajority of web sites generally only present static graphical images.Even with data compression techniques, graphical files are notoriouslylarge and slow to download given the limited bandwidth available overexisting telephone modem connections. A web page having a large numberof graphical images can take several minutes to retrieve. Audio andvideo files are typically very large, and can take even longer tocompletely download. This can result in long and frequent delays inretrieving and using such files.

However, the typical television viewer is accustomed to a near immediateresponse when selecting a channel or television station to watch.Although off-line browsing allows a client user to view pages alreadystored in cache memory from previously visited web sites, thesedocuments are often not meaningfully organized, such as by topicalsubject matter for easy assimilation by the client user. Nor do thesecached pages necessarily represent the most recent version of the pagesavailable from the web site of interest.

Along with the increasing interest in the internet and the world wideweb, appliances or set-top boxes similar to cable TV boxes have beendeveloped in an attempt to allow access to the internet through thetraditional television set. However, such attempts suffer from delays inaccessing the graphics of the web, and the lack of experience in themass-market with regard to the internet, especially in regard to findingand accessing relevant web pages of interest. Mass-market consumers aretypically accustomed to having information broadcasted or delivered tothem with minimal effort or delay.

The practice or technology of having information brought to a clientuser by an agent is sometimes referred to as push. Pushed informationappears to have been initiated by the server rather than by the clientor the user. However, in current systems, the information pushed from aserver to a user often comes as the result of a programmed request fromthe client in the user's computer. Information pushers often requirethat the client download a program which often determines the usefuldata desired by the user and then occasionally initiates requests forinformation from the server. However, users may find such questionnairesto be burdensome, and may not completely and accurately complete thequestionnaire.

Hence, there has been a long existing need for a system which is capableof navigating the internet efficiently so as to provide text, images,sound, and video on-demand in a simple, intuitive manner akin totraditional television programming for mass-market consumers. Thepresent invention fulfills these needs.

SUMMARY OF THE INVENTION

Briefly, and in general terms, the present invention provides aninternet on-demand system for television presenting internet content andtraditional television programming as part of a single coherentinterface.

The system selectively displays internet content and televisionprogramming. The system comprises a client including a display. Thesystem further comprises means for selecting between channels separatelyrepresenting individual television content and individual internetcontent. When an individual television content channel or an individualinternet content channel is selected, the client presents the contentassociated with the selected channel on the display. Means fordisplaying an internet gateway interface selectively scrolls throughlinks to selected web pages organized according to templatescorresponding to web page content displayed on internet contentchannels. The server includes means for establishing a data connectionwith the client and downloading data along the data connection to theclient.

One aspect of the present invention is that the system provides a userinterface for efficiently navigating among different information sourcesin a simple, intuitive manner.

Another aspect of the present invention is that the system can displayan internet gateway interface which actively scrolls throughand-highlights links to selected web pages.

A further aspect of the present invention is that the system can presentan internet gateway, web pages, and traditional television programmingas part of a single coherent interface.

Still another aspect of the present invention is that the systemprovides a dynamic interface organized into categories of information ina coordinated and coherent manner.

One aspect of the present invention is that the system can display arotary menu on the screen to present both internet links and traditionaltelevision programming as channels for selection by the user.

Yet another aspect of the present invention is that the system can usean intelligent agent to passively filter selected web sites or contentfor a user to explore based on the past pattern of usage of the clientby the user.

Another aspect of the present invention is that the system cancategorize the selected web content into topics contained in a templatebased on attributes identifying the subject of the web pages, andpresent links to those web pages in a graphical interface based on thetemplate to the user.

Another aspect of the present invention is that the server queries theclient regarding its available data stream connections in order todetermine the most efficient delivery of different types of data throughall of the available connections.

An additional aspect of the invention is that the system can coordinatethe data stream to the client across different data connections in orderto maximize the available bandwidth capacities to provide a morecoordinated and faster internet experience when presenting text,graphics, video and audio information from a web page.

Another aspect of the invention is that the system uses both backgrounddelivery of internet content, and coordinated data streaming acrossdifferent data connections.

Other features and advantages of the invention will become apparent fromthe following detailed description, taken in conjunction with theaccompanying drawings, which illustrate, by way of example, the featuresof the invention.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating a client-server system inaccordance with the present invention;

FIG. 2 is a block diagram illustrating the client of the client-serversystem in accordance with the present invention;

FIG. 3 illustrates templates for categorizing web pages or links to webpages in accordance with the present invention;

FIG. 4 illustrates documents being sorted into topics from the templatesin accordance with the claimed invention;

FIG. 5 illustrates an active frame for a graphical user interface inaccordance with the present invention;

FIG. 6 is a flow chart illustrating the active frame for a graphicaluser interface in accordance with the present invention;

FIG. 7 illustrates another embodiment of the active frame for agraphical user interface in accordance with the present invention;

FIG. 8 illustrates a rotary menu wheel for a graphical user interface inaccordance with the present invention;

FIG. 9 is a flow chart illustrating the rotary menu wheel for agraphical user interface in accordance with the present invention;

FIG. 10 is a flow chart illustrating the passive filtering for theclient-server system in accordance with the present invention;

FIG. 11 is a block diagram illustrating the multiple data streams forthe client-server system in accordance with the present invention; and

FIG. 12 is a flow chart illustrating the processing of multiple datastreams by the client in accordance with the present invention.

DETAILED DESCRIPTION

Referring now to the drawings, and in particular to FIG. 1, there isshown a client-server system for presenting multimedia internet contentand broadcast data and television programming on a television screen.The client 10 includes a set-top box 12 which is connected to orintegrated within a television appliance 14. The set-top box 12 providesconnections to video and computer data sources which are processed anddisplayed on the screen of the television appliance 14. The televisionappliance can include a cathode ray tube (“CRT”), liquid crystal display(“LCD”), or other device capable of presenting a video image. The clientis preferably connected to the server 16 by a telephone modem 18.

The client further includes a processor 20 capable of performingmultimedia tasks, programming for internet web browsing and controllingmultimedia tasks, a digital data storage medium 22 such as a hard drive,digital video disk (“DVD”) or digital video tape (“DVT”), and a remotecontrol device 24 to allow the user convenient control of both internetand television functions through the set-top box. The remote controldevice 24 preferably includes numeric keys, channel-up (forward) andchannel-down (back) buttons for selecting channels, directional controlsfor controlling movement, such as a cursor or menu selector, on thetelevision screen, a button for activating a link or command, anddedicated keys for jumping to a home page or other specialized function.Alphanumeric or other text may be input using the remote control deviceor a separate keyboard. A method and apparatus for entering text usingan input device having a small number of keys is disclosed in U.S. Pat.No. 5,543,818 (“Scott”), and is hereby incorporated by reference.

The video connections to the client 10 can include cable 17 and digitalbroadcasting satellite (“DBS”) 19. The video connections may be made toperipherals such as a VCR which would be connected to the set-top box.The computer data connections to the client can include telephone modemsand ISDN connections, as well as digital satellite data services, andcable modems over the video connections to the client. It should benoted that the client can utilize several different types of dataconnections simultaneously. Computer data information may be multiplexedor otherwise embedded in a video signal source. A television receiverwith a decoder for decoding coded data from a video signal is disclosedin U.S. Pat. No. 5,512,954 (“Shintani”), which is hereby incorporated byreference. Both television and computer data can be provided to theclient over the same digital satellite connection. For example, theclient can utilize both a telephone modem and a digital satelliteservice, where the satellite service delivers to the client bothtraditional television programming, as well as internet content duringthe blanking signal of the television programming.

The processor 20 of the client is a multimedia processor whichpreferably includes a very long instruction word (VLIW) architecture. Asuitable processor is known by the tradename “TM-1” which ismanufactured by Philips Semiconductors—TriMedia Product Group,Sunnyvale, Calif. A block diagram of the processor 20 of the client 10is illustrated in FIG. 2 by way of example. The processor includes a CPU30 having an instruction cache 32, a data cache 34, and VLIWarchitecture which can run a real-time operating system (RTOS) kernel.To save bandwidth and storage space, the VLIW instructions can becompressed until needed. The processor includes an application librarywhich can provide routines to establish a data connection with a serverover a modem, enable web browsing, retrieve e-mail, encode and decodevideo data compressed using the MPEG1 standard, and decode MPEG2 files.

Synchronous DRAM (SDRAM) 36 is available through the memory interface 38and data 43 containing a boot program for the processor can be connectedto the processor through a PCI interface 44 to enable standaloneoperation of the processor.

A number of dedicated coprocessors are connected to the CPU through thedata bus. An image coprocessor 46 is available to copy images from theSDRAM to a video frame buffer and perform scaling and color spaceconversions. A transfer rate of 50 megapixels per second (Mpix/Sec.) canbe maintained by the image coprocessor. A variable-length decoder (VLD)coprocessor 48 is available to assist in decompressing MPEG1 and MPEG2data streams.

Direct memory access (DMA) driven multimedia input/output (I/O) unitswhich operate independently to process data are connected to the CPU 30.The video input unit 52, video output unit 54, audio input unit 56, andaudio output unit 58 are DMA-driven I/O units. The video input unit 52can accept video data from a video decoder 60 which converts a compositeY/C video signal into YUV 4:2:2 digital video data. The video outputunit can provide data in YUV 4:2:2 video output format to a digitalvideo encoder 62. Both the video input and video output units can followthe CCIR656 format. For example, the video output unit can drive otherCCIR656-compatible devices such as a digital video tape recorder. An I²Cinterface 64 can also be included. An audio code unit 66 having a 16-bitADC and a 16-bit DAC for audio coding and decoding operations can beconnected to the audio input and audio output units.

A synchronous serial interface 68 can be connected to a modem 70 forcommunicating with the server. The modem can be a V.34 modem capable ofachieving a connection speed of 33.6 Kbps or greater over a standardtelephone line or an ISDN modem interface. External circuitry tointerface with incoming multimedia data streams can be connected to theprocessor as needed.

The server 16 is a computer with which the client preferably canestablish a connection with over a telephone modem. The server functionsas the client's access to the internet so that the client can requestdocuments, files and other information from other servers connected tothe internet. For purposes of discussion, this server, which is part ofan on-line service 26 for the user, will also be referred to as the POPor network server. The service provider can package content to addressthe information needs and interests of a diverse consumer marketplace.Updates to the operating and applications software used by the processorof the client can be provided by the server as needed.

The server 16 can also provide a page with links or shortcuts tointernet content to be displayed in the graphical user interface (“GUI”)or front-end of the client. These pages are displayed as part of aselection of channels for both internet content and televisionprogramming. The links provided by the server are to web pages whichpreferably have already been screened by the internet service providerfor quality and suitability. The links are classified into categories ortopics within templates which can be stored on the server, the client,or both, to provide a framework for presenting these links through theinterface of the client.

The templates can be stored either on the client or the sever, dependingon the available storage space on the client. The templates can containseveral different categories or topics from a given universe of topics.The same category or topic may be found in different overlappingtemplates. As illustrated in FIG. 3, template I and template II areseparate templates in which topics 1 and 3 overlap. The topicsassociated with a template may be initially predetermined, and lateradapted over time based on the past viewing and browsing interests ofthe user.

The subject matter of the topics or categories are defined by predefinedidentifying attributes so that each category can be defined by one ormore of these attributes. These attributes can be associated with webpages in order to identify aspects of the subject matter or content ofthe page. As illustrated in FIG. 3, topic 1 is defined by the attributeα, topic 2 is defined by the attribute β, topic 3 is defined by theattributes γ and α, and topic 4 is defined by γ and Δ. As an example,attribute α may identify the subject of “sports,” attribute β as “news,”attribute γ as “films,” and attribute Δ as “science fiction.” Topic 1would then include web pages having the attribute α for sports attachedlinked to web pages relating to films concerning sports would includeboth the sports attribute α and the films attribute γ and would besorted or categorized as part of topic 3. Similarly, template I wouldinclude topics pertaining to sports, news, and sports films, whiletemplate II would include topics pertaining to news, sports films, andscience fiction films, as defined by the relevant attributes.

The content of web pages may be described by one or more identifyingattributes, and accordingly filtered into the categories or topics ofthe selected template. As illustrated in FIG. 4, a document havingassociated attributes α and β would be put in topics 1 and 2, while adocument having only attribute β associated therewith would only beclassed as part of topic 2. As an example, a web page discussing“Rollerball,” a science fiction film with a sports theme, would beclassed as part of topics 1, 3 and 4 in both templates I and II.Prescreened web pages having been given identifying attributes can beclassified according to those attributes and forced into the topics forthe templates.

While the template and its associated topics may be predetermined, theycan be later adapted automatically by an intelligent agent on either theclient or the server based on the past viewing and browsing habits ofthe user. The client or server can record the attributes given for theweb pages, and based on these recorded attributes, an algorithm may beused to modify the topics by adding attributes or altering therelationship of the attributes to one another using boolean (“AND, OR,NOT”) logic. As an example, topic 1 of template I could be modified toexclude the science fiction attribute Δ so that the Rollerball web pagewould not be present in topic 1 of template I. Based on the recordedattributes, new topics can be generated for the templates, or a newtemplate can be generated altogether.

The templates can be part of specific gateway interfaces tailored forspecific user profiles. For example, the user may initially be requiredto select a general, preferably demographically-based, profile which mayprovide preselected web links in a predetermined set of categories. Theparticular graphical interface in which these links are presented to theuser can also be selected based upon the experience level and the amountof interactivity desired by the user, which may also be automaticallymodified over time by an agent to fit the experience level of the user.

The templates are preferably used in an active and dynamic interface onthe television screen to the user. This may be referred to as activeframe scrolling. The template may form part of a guide page with linksto different preselected and precategorized web pages of interest. Theguide page may include html codes, and may be a front-end windowseparate from the browser. The guide page may be represented as achannel from a menu of channels to be selected by the user in additionto traditional television programming channels. As previously discussedin connection with the templates, the guide page may be automaticallymodified, adapted, and updated by either the client or the server, andbe based at least in part on past viewing and browsing habits of theuser.

The guide page may reside on the client, the server, or a combination ofboth. For example, the guide page may reside on the client, and beperiodically updated by the server; or the template for the guide pagemay reside on the client while the content for the page is located onthe POP server or another server identified by links in the guide page.

The guide page can include a set of topics, and a set of linksassociated with each topic. The links preferably include an associatedobject such as a graphic image to visually indicate the subject matterof the link. The guide page provides a dynamic interface in that itscrolls through the links in order to provide the client user with arevolving choice of links. The guide page further includes the objectsassociated with the scrolling links which may be displayed as a sideshowpresentation to the user. Alternatively, the interface can present theguide page with the objects associated with the scrolling links as afilmstrip presentation to the user.

The selections of topics and links can be viewed as a series ofsequences. For example, a first set of selected topics are displayed onthe screen for the client user. One or a plurality of topics in a subsetof the first set of topics is selectively highlighted in a firstsequential order. For example, as illustrated in FIGS. 5 and 6, eachsucceeding displayed topic would be highlighted in descending order, andthen the sequence would begin again at the top of the column of topics.

A second set of internet links associated with the highlighted topic aredisplayed while the first set of topics are being displayed. Each linkpreferably references a URL for a web document. The internet links ofthe second set are highlighted in a second sequential order. Forexample, as shown in FIG. 5, the highlighting of links would follow adescending order similar to that for the set of selected topics. Whenthe second sequence of highlighting the links is completed, the nexttopic and then highlighted, and the links associated with the subjectmatter of that topic are highlighted in sequence. The next topic in thefirst sequential order is not highlighted until after the last link inthe second sequential order is highlighted. Alternately, the next topicis not highlighted until a preselected period of time passes, or untilthe user indicates that-the system should proceed to the next topic, inorder to allow the user adequate time to select a desired link.

The dynamic revolving sequence of displaying graphics and soundsassociated with particular highlighted links which are part of a set oflinks associated with a particular topic can be thought of as a seriesof nested loops. FIG. 6 is a flow chart generally illustrating theactive frame scrolling which dynamically presents the topics, links, andassociated descriptive objects according to a classification structuredefined by a template. Where T represents the topic, and I an internetlink connected with a particular URL, both are initially set to a valueof one. If topic T and associated internet link T(I) are highlighted,associated object T(I)A is displayed on the interface as well. Next,while waiting for a predetermined amount of time t_(i) to expire, theclient may accept the user's selection of associated link T(I) andretrieve the web page at the URL connected with that link. If time t_(i)expires and there has been no selection by the user, then values T and Iare incremented by one. First, internet link I is incremented and thatnext link can be highlighted, unless the value of I is greater than thenumber Z_(I) of links associated with that topic T. In the lattersituation, T is then incremented by one and that next topic ishighlighted along with its associated links. If T is greater than thenumber Z_(T) of topics for that template, then T is set back to one, andthe scrolling sequence is started at the beginning. The order of thesetopics can of course be modified by the user at any time.

The user can select the highlighted link by depressing a selection orenter button on the remote control device while that link ishighlighted. Alternately, the user can use the remote control tomanipulate a cursor to select a link or topic which is not highlighted.When the highlighted link is selected by the user, the internet content,such as the page or document at the URL of the highlighted link, isdelivered to the client and displayed on the television screen.

While a link is highlighted, an object, such as a graphic image,animation, sound file, or a combination thereof, associated with thehighlighted link is displayed on the television screen. By scrollingthrough the selected topics of the first set, the links of the secondset associated with each selected topic, and the objects associated witheach link, as each are highlighted, a dynamic interface is presented tothe client user.

For example, as illustrated in FIG. 5, topic “2” is highlighted, and theassociated links 2(1), 2(2), 2(3), etc., are displayed in associationwith highlighted topic 2 for a predetermined amount of time. These linksin turn are highlighted in sequence, and the object 2(3)A associatedwith highlighted link 2(3) is displayed in the interface for a shortperiod of time.

Alternately, as illustrated in FIG. 7, the interface can present theguide page with the objects associated with the links scrolling fromright to left as a filmstrip presentation to the user. The associatedlinks and objects for several topics and several links can be shownsimultaneously. The links and associated objects are displayed to theuser as a dynamic sideways moving slideshow. After pausing for apredetermined amount of time, one or more objects are moved out theframe at a time. Another set of topics and associated links and objectscan be displayed in the interface after each of the previously displayedlinks has been shown in sequence. The associated objects can bedisplayed and scrolled in a horizontal sideways presentation, or in avertically moving presentation.

The interface preferably displays the associated object while the secondset of links are also being displayed. The object may be stored on theclient, the POP server, or on the server containing the URL for thehighlighted link. For example, the associated object may be downloadedfrom the server when the link is first highlighted, preferably over ahigh speed, large bandwidth data connection such as a digital satelliteor cable modem connection. Alternatively, the associated objects orgraphics may be downloaded periodically to the client and saved on thedigital storage medium during off-peak hours in the early morning hourswhen usage is low in order to provide a fast dynamic interface to theuser. Furthermore, the time required to establish a dial-up connectionto the POP server can be reduced so as to be transparent to the user byinitiating the connection when the user initially selects the guide pagefrom a menu of channels. Documents or web pages which are part offrequently visited web sites can also be automatically updated anddownloaded during off-peak hours in order to allow for fast off-linebrowsing. After a link is selected by the user, and while the previouslydownloaded and stored web page is being viewed by the user, the clientcan establish a connection with the POP server to follow any linkspresent in the web page and download other related or linked web pageswhich the user may predictably find of interest.

The user may desire to switch quickly between internet content andtelevision programming. An overlying menu of channels may be activatedat any time on the screen to provide a single uniform interface tonavigate among internet sites and television stations. Althoughtelevision stations have traditionally presented as local channels,internet address have generally not been represented as such. The webchannels would be different from television channels in that webchannels would represent a location or URL on a particular server. Aguide page having links to URLs or shortcuts to such links can also be aseparate channel on the overlying menu, preferably is in the form of arotary wheel menu.

As shown in FIG. 8, television stations and internet web pages can bepresented as distinct channels on a single rotary wheel menu 80: Therotary wheel menu overlies the screen and allows the video or televisionprogramming to continue playing in the background, such as in the partof the display screen which is not occupied by the menu. This alsoapplies to where the background is a web page so that animation andstreaming video can continue to be updated. The user can directly selectthe next channel, whether internet or television based, to be visitedusing the menu. The client can continuously poll its I/O interface withthe remote control device to detect user input or commands.

The rotary wheel menu 80 is presented as a series of panels 82 whichappear to occupy a three dimensional space extending behind thetelevision screen. The panels 82 on the front side of the rotary menuwheel 80 can be viewed on the television screen. The rotary menu wheelcan include any number of panels, and displays a number of panels, suchas five, seven or nine, which can remain legible on the front side ofthe menu wheel on the television screen. The remaining channels wouldnot be displayed when rotated out of view to the back side of the wheel.Although the menu is described as a wheel for simplicity, the abstractgeometric configuration of the menu need not be spherical. Although onlya small fraction of the available number of panels may be visible in theinterface at any one time, the menu wheel displayed can still simulatemovement within a three-dimensional space when being rotated by causingthe visible panels at the extreme top and bottom of the display screenappear faded and occupy a space behind another panel as the wheel isrotated.

The panels can include text and graphics to describe and symbolizechannels for particular television stations, internet web pages, ande-mail. Channels are selected by rotating the wheel in order to move thedesired panel into a highlighting selection box 84. The simulated wheelcan be rotated to move the panels up and down by manipulating the remotecontrol device, such as by depressing an “up channel” or “down channel”on the remote control device. An enter or select button on the remotecontrol device can be used to select the desired channel highlighted inthe selection box. The user can also view the channels immediatelyadjacent to the channel highlighted in the selection box.

The rotary menu wheel 80 resembles a Ferris wheel in certain respects inthat the panels 82 remain facing the user even as the simulated wheel isbeing rotated. The text in the panels of the front half of the wheelfacing the user maintains its dimensions and remains legible, even asthe panels are rotated into different positions. The panels andaccompanying text at the extreme top and bottom of the wheel begin tofade in order to further depict a three dimensional space occupied bythe wheel. This is illustrated in FIG. 8 by the dashed lines for thepanels at the upper and lower extremes of the rotary wheel menu.

Each panel is displayed according to its position on the wheel. Forexample, the vertical coordinate for any one panel to be displayed onthe television screen would be:

y*sin(t)+C_(V),

where the vertical rotational radius y is set to 200, verticalcoordinate constant C_(V) is set to 250, and the angle t of that panelis relative to the center of the simulated wheel lying on the centerhorizontal axis of the screen. The values of y and C_(V) are providedonly to illustrate relative values which may be used to simulatevertical movement along a television screen. The above equation isapplied when t is between −π/2 and π/2 radians so that cos(t) ispositive, and defines the front face of the wheel which would be visibleto the user. Where cos(t) is negative, that panel would occupy the backside of the wheel, and should not be visible. The highlighted selectionbox 84 should be located over the panel where t equals zero.

As the angular position of the panel approaches the zenith or the nadirof the wheel, the relative change in the vertical coordinates decreasesas the sine curve levels off in approaching a value of one. The rate ofvertical movement decreases so that the distance between adjacent panelsdecreases, and eventually overlap, towards the zenith and nadir of thesimulated wheel. This causes the extreme panels displayed on the screento appear to move behind the other displayed panels.

As the panel is moved to the zenith and nadir of the wheel, the panelbecomes more transparent. This also has the effect of previewing morechannels on the wheel than if the panel remained opaque. Using theequation, 100*cos(t), to define the transparency of the panel, it isapparent that cos(t) approaches zero to render the panel transparent asthe panel approaches the respective zenith and nadir of the circledefined by the wheel. This further enhances the facade that the extremepanels displayed on the screen are behind the other displayed panels.

In order to provide a more dimensional feel to the wheel, somehorizontal movement can be introduced in addition to the verticalmovement so that the wheel appears to slightly trail off the screen asthe panels approach either the apex or nadir of the visible screen. Asbefore, the horizontal coordinate for the panel displayed would be:

x*cos(t)+C_(H),

where the horizontal rotational radius x is set to 10, horizontalcoordinate constant C_(H) is set to 70, and t is the angle of the panelis relative to the center of the wheel and the center horizontal axis ofthe screen. The values of x and C_(H) are provided only to illustraterelative values which may be used to simulate slight horizontal movementof a panel along a television screen as the panel is moved to theextreme top or bottom of the screen. The wheel is given an apparentcurved quality by this slight horizontal movement of the panel as thepanel moves vertically. As before, this equation applies only wherecos(t) is positive. The highlighted selection box should be located overthe panel where t equals zero, which should also represent the maximumhorizontal coordinate for the panel. Again, where cos(t) is less thanzero, the panel would be on the back side of the wheel, and should notbe visible.

The user can edit the channel list for the menu wheel. The user canbookmark particular web pages or sites to appear as new channels in themenu wheel. Other channels may be added to the menu wheel for cabletelevision channels, satellite channels, and other sources. Also,different menu wheels can be made available so that several differentusers can operate the system using different menu wheels with apersonalized selection of channels.

The channels can be organized as a circular queue and any suitable datastructure is used to keep track of the channels in the queue. The queueis initially preloaded with channels, and any arbitrary channel can beset to correspond to the channel which is to be highlighted in theselection box. Thereafter, the last visited channel can be stored sothat when the user returns to the menu, the menu wheel and panel for thelast viewed channel is displayed and highlighted. Several panels of thechannels adjacent to the highlighted channel are displayed on thescreen. The channel order is preferably maintained during rotation ofthe wheel, even when rotated out of view. For example, if there arefifty consecutively numbered channels, then channel twenty-six shouldalways be approximately opposite channel one in the simulated wheel ofthe rotary menu.

FIG. 9 is a flow chart illustrating a process for implementing the menuwheel for selecting channels of content. The user first activates thewheel menu, and the client determines the position of the channels onthe simulated wheel relative to the screen. The channels which would bevisible on the front part of the simulated wheel are displayed on thetelevision screen.

If the user selects the command to rotate the menu wheel, the relativechannel positions are updated, and the channels are moved vertically toanimate the simulated movement of the wheel menu displayed on thetelevision screen. A pointer can be used to track the position of achannel in the circular queue for the wheel. The pointer is updated,either by incrementing or decrementing the pointer in accordance withthe user's commands. The movement of the menu wheel is then animated inaccordance with the user's commands. As the animation of the menu wheelis completed, the panels are displayed in the new position according tothe pointer location in order to smoothly animate the movement of thepanels.

If the user has entered a command to select the channel of thehighlighted panel, the pointer value is saved, the menu wheel is no,longer displayed, and the content of the selected channel is displayedon the television screen. Another routine can be launched where theselection of the channel requires additional processing, whether webbrowsing or television signal decoding. For example, where a userselects the guide page, the menu wheel routine is exited and the routinefor presenting the dynamic guide page is executed.

The remote control device can also select and scan between the channelsrepresenting the television broadcast and internet content through the“up channel” and “down channel” in the remote control device to moveback and forth between channels, without first accessing the rotarywheel menu.

The rotary wheel menu is part of a comprehensive interface from whichthe user can easily access internet content and television programming.The active frame scrolling of the interface actively presents the userwith a revolving array of easily understood and identifiable links toweb pages containing internet content. The links are presented withassociated graphics to represent the subject matter of the linked webpage. In presenting a comprehensive interface to the user, thatinterface should be concise in order to avoid overloading the user withtoo much information which may not be relevant to the situation.

When accessing e-mail as opposed to browsing web pages, differentcommands are typically required. Further, when sending, reading, orretrieving e-mail, different commands are available for use. The sametoolbar or menu interface is often used for these different e-mailsituations, where the unnecessary or inappropriate commands are faded toindicate that they are unavailable to the user. This can lead toconfusion by inexperienced users because these faded out commands areoften still visible. In one embodiment of the system, a specificdedicated menu for each situation, such as browsing, sending e-mail,reading e-mail, or retrieving e-mail, is made available to the user.

For security of personal information, a password can be required beforeallowing access to personal e-mail or a web page containing personalizedcontent. A series of graphical icons may be presented to the user, andthe user selects a combination of these icons as a personal password.

The television can include hardware commonly referred to as the V-chipwhich restrict access to channels carrying programming which has beengiven a certain rating such as TV-14 or TV-M. Internet blocking softwareis often used as an add-on to browsing software to filter out orrestrict access to certain content such as explicit sexual content whichwould be inappropriate for young children. The criteria used by specificinternet blocking software programs can vary. For example, internetblocking software may automatically scan the text of a particular website and search out for groups of words that would be associated withinappropriate topics, and those pages which use those words arerestricted from access by the browser. Another example is a voluntarysystem developed by the Recreational Software Advisory Committeeprovides a rating based on the content of a web site and users can blocksites with high ratings of undesirable or inappropriate content.

The present system uses a blocking filter which is compatible with oneor more of the aforementioned internet blocking software systems and canconvert or approximate ratings criteria used in the internet blockingsoftware with that used to rate television programming. The user can seteither the internet blocking software or the V-chip in the television toblock both types of information or programming. For example, where theuser sets the system to block programming with a television rating ofTV-14, the browsing software will be modified by the client to block websites on the internet having comparable content. The client will have aconversion capability to take the criteria used by the blocking softwareand compare it to predetermined set of criteria for the televisionrating system. Furthermore, the client can also function as the V-chipfor television programming if one is not included in the television set.

A service can be provided through the server, where the server acts as aquality control gatekeeper that presents selected links to web pages.While the user is free to explore outside of the universe developed bythe server, less experienced users can explore the more controlledenvironment provided by the server. The links to other web pages createdand maintained by other internet entities and organizations will bepreselected or accredited by the service for the quality of theircontent. After being initially set up, web sites are often notadequately maintained or updated. The staleness of a web site can be afactor in determining the quality of its content.

Unlike an on-line service which creates and provides its own specializedcontent, the server will provide links to content created by otherentities on the internet, wherein those links will be categorized andorganized according to the templates. The server, preferably the POPserver, acts as the gateway to the linked web pages for the client. Thelinks present in those templates for an individual user will be modifiedover time based on that user's pattern of usage and the subject matterof the user's browsing.

An intelligent agent on the POP server can monitor the identifyingattributes of the preselected linked web pages provided by the server.The intelligent agent can be an anchored agent, and does not need to bea self-contained mobile agent carrying their own state information andmoving from server to server. The agent will record the attributes ofpreviously visited web sites from the guide page containing the linksprovided by the server. The intelligent agent can identify subject areasof interest for the user based on the past viewing and browsing habitsof the client user in order to determine the user's preferences for theselected topics provided in the templates. However, the agent does notnecessarily rate the quality of the content of the web pages. Instead,as illustrated by the flow chart in FIG. 10, the agent follows amacromanagement approach which presents categories of links according totopics within a template. The topics are defined by attributes whichdescribe subject matter, and the attributes are associated with thelinked web pages. The attributes can be attached to a web page linkafter being reviewed by the service running the POP server, or they canbe voluntarily provided by the web site hosting the web page itself, ordetermined through an algorithm parsing the text of the web page.

Predetermined codes can be provided as part of data transmitted on atelevision signal to identify the genre of a television program beingbroadcasted. A television receiver which is capable of monitoring andstoring the predetermined genre codes for television programming inorder to select programs based on past viewing habits is disclosed inU.S. Pat. No. 5,585,865 (“Amano, et al.”), which is hereby incorporatedby reference. These genre codes can be consistent with or convertible tothe attributes associated with web pages in order to provide additionalinformation to the agent to determine areas of interest for the clientuser. The client processor can store the genre codes associated withpreviously viewed television programming, and then provide this data tothe agent to augment its web browsing data.

The web pages are classified into the categories or topics of thetemplates selected by the client user. These attributes associated withthe web pages identify aspects of the subject matter or content of thepage. FIGS. 3 and 4 illustrate the relationship between the templatesand the documents having associated attributes for classification intothe topics of the templates. Prescreened web pages having been givenidentifying attributes can be classified according to those attributesand forced into the topics for the templates. As an example, attribute αmay identify the subject of “sports,” attribute β as “news,” and adocument or web page having both attributes associated with it would beclassed in both topics 1 and 2, and would be displayed as a link ineither template I or II. As another example, a web page havingattributes α, Δ and γ and would be classed as part of topics 1, 3 and 4in both templates I and II.

While the template and its associated topics may be predetermined, andthey can be later adapted automatically by the intelligent agent basedon the past viewing and browsing habits of the user. The client orserver can record the attributes given for the web pages, and based onthese recorded attributes, an algorithm may be used to modify the topicsby adding attributes or altering the relationship of the attributes toone another using boolean logic. As an example, topic 1 of template Icould be modified to read as attribute α NOT attribute A so that the webpage associated with attributes α, Δ and γ would not be present in topic1 of template I. Based on the recorded attributes indicating the user'stopical areas of interest, new topics can be modified or generated forthe selected templates, or a new personalized template can be generatedaltogether upon request.

The agent preferably searches through a database of web links which havebeen compiled by the service to present to the user through the guidepage in the graphical user interface. The agent can be focused on theweb pages already screened, rated and categorized by the service. Thelinks to web pages can be determined to be suitable by the service basedon overall quality considerations, and given identifying attributeseither manually or by a word parsing algorithm based on the occurrenceof relevant words in the web page.

The guide page presented as part of the graphical user interface can bemodified over time. The intelligent agent, located either on the clientor server, is capable of automatically modifying, adapting, and updatingthe guide page based at least in part on past viewing and browsinghabits of the user. The guide page is based on a template which organizeand categorize the predetermined web links to the user. The filtering bythe agent does not search out the entire content of the internet, butonly that which has been preselected for inclusion with the templatesfor the user. Although the templates and associated topics may beinitially selected by the user, the agent may modify the topicscontained in the templates and filter the preselected contentsaccordingly for that template.

The agent provides additional links to web pages which have beenclassified in one or more of the topics set forth in the selectedtemplate for the guide page displayed to the client user. Thus, theguide page interface provides an active presentation to the user of thecurrent links currently in the guide page, while updating and revisingthe links periodically to provide new and current links to the user sothat template does not become stale.

In order to present the client user with a more coordinated and fasterinternet experience more akin to television viewing, the bandwidthcapacity of the data connection between the client and server needs tobe much greater than that currently available using analog modemconnections over existing telephone lines. The bandwidth from allpossible and available data connection sources should be utilized formaximum efficiency.

Several different data connection sources may be available to theclient, including telephone modems, ISDN lines, digital satellite dataservices, and cable modems. The client can utilize several differenttypes of data connections simultaneously. Both television and computerdata can be multiplexed and provided to the client over the same digitalsatellite connection. For example, the client can utilize both atelephone modem and a digital satellite service, where the satelliteservice provides both traditional television programming, as well asinternet content in the blanking signal of the television programming orotherwise incorporated into the digital data stream. Content which ispersonalized could be received by the telephone line, while thesatellite connection is used to receive information of broader appealwhich is selectively received by a filtering mechanism in the client.

A digital satellite service separate from a DBS for televisionprogramming can download digital computer data at a rate of about 400Kbps. However, such a service could be expensive, with additionalconnect fees based on each megabyte of data downloaded. However, byusing an analog modem to download text which does not require a largebandwidth for rapid downloading, some download connect fees can beavoided. Text for other linked web pages can be downloaded over themodem connection while he user is reading or viewing another pagecontaining the links. Either the client or the server can automaticallyinitiate downloading at off-peak hours as previously discussed in orderto efficiently use the available data connections to download data tothe client for access by the user. The standard modem connection canalso be used to download text and other data to update current links andassociated objects or content while the user is on-line and browsing,but not actively downloading documents, so as to utilize the modemconnection which would otherwise remain idle.

As shown in FIG. 11, the client is capable of demultiplexing data fromboth pipelines, where graphics, sound, and video files are preferablydownloaded over the larger and faster pipeline having more bandwidthsuch as a digital satellite connection. Less bandwidth-demanding textand data files can be provided over the modem connection in order toefficiently use of all available bandwidth sources. Data files providedover the modem connection can be used to indicate which files are beingtransferred over which data connection, and to coordinate thepresentation of the data being provided over the larger bandwidth. Forexample, different text, sound and animation files may be coordinated toproduce a dynamic sideshow presentation to the user.

When establishing a remote data connection, the server and clientinitially perform a handshake to establish communication protocols. Theserver can further query the client regarding its available data streamconnections, including telephone modems, cable modems, and digitalsatellite broadcasting, as illustrated in FIG. 12, in order to determinethe most efficient delivery of different types of data through all ofthe available bandwidth connections. Different types of data files canbe divided from one another and the data files delivered over thedifferent data connection depending on the type of data file beingtransferred, the size of such files, and the bandwidth available for thedifferent data connections. Data arriving over the different dataconnections are demultiplexed by the client. The efficient delivery ofdata allows the client to present text, graphics, video, audio and othermultimedia information from a web page over the internet as a fast andcoordinated presentation. A closer working relationship can also bedeveloped as a result of the querying between the server and the clientin order to develop a more efficient allocation of processing andstorage burdens and responsibilities between the client and the server.Clients with limited storage capacity can utilize space on the serverfor certain functions.

Data is often compressed for more rapid delivery over the limitedbandwidth currently available. Different types of data files, such assound, video and graphics files, are often compressed at different ratesand ratios, often using different compression schemes. For example,video data can be compressed using the MPEG1 or MPEG2 standards, audiodata as wav, au or aiff files, and graphic images can be compressedusing either the JPEG or GIF standards. Such data may be decompressed atdifferent rates, and the client may include specific hardware orsoftware, or a combination of both, to properly synchronize thedecompression of data for a document or file for simultaneous andcoordinated presentation to the user of, for example, differentcombinations of sound and animation files. Different selected sound andanimation files can be mixed and matched, and used together fordifferent occasions, and can be synchronized for a coordinatedpresentation to the client user.

From the foregoing it will be appreciated that the system of the presentinvention provides advantages in presenting information in a simple,intuitive manner, while making the most efficient use of the availablebandwidth source connections. While several particular forms of theinvention have been illustrated and described, it will be apparent thatvarious modifications can be made without departing from the spirit andscope of the invention. Accordingly, the invention is not to be limited,except as by the following claims.

What is claimed:
 1. A system for selectively displaying internet content and television programming on a display, the system comprising: a client, including a display, and channels separately representing individual television intent and individual internet content; means for selecting between the channels, wherein when an individual television content channel or an individual internet content channel is selected the client presents the content associated with the selected channel on the display; means for presenting on the display an internet gateway interface which selectively scrolls through links to selected web pages organized according to templates corresponding to web page content displayed on internet content channels; and a server, including means for establishing a data connection with the client and downloading data along the data connection to the client; a menu for providing a single uniform interface to enable the user to navigate among the channels of internet sites and television stations, wherein the menu comprises a rotary wheel menu, comprising a series of panels which appear to occupy three-dimensional space including extending behind the television screen, wherein the panels on the front side of the rotary wheel menu can be viewed on the television screen wherein the distance between adjacent panels decreases and eventually overlaps towards the zenith and nadir of the rotary wheel, whereby the extreme panels displayed on the screen appear to move behind other displayed panels.
 2. A system for selectively displaying internet content and television programming on a display, the system comprising: a client, including a display, and channels separately representing individual television content and individual internet content; means for selecting between the channels, wherein when an individual television content channel or an individual internet content channel is selected the client presents the content associated with the selected channel on the display, comprising a rotary wheel menu for enabling the user to select a channel, wherein the rotary wheel menu comprises a series of panels which appear to occupy three-dimensional space including extending behind the television screen, wherein the panels on the front side of the rotary wheel menu can be viewed on the television screen, wherein the distance between adjacent panels decreases and eventually overlaps towards the zenith and nadir of the rotary wheel, whereby the extreme panels displayed on the screen appear to move behind other displayed panels; means for presenting on the display an internet gateway interface which selectively scrolls through links to selected web pages organized according to templates corresponding to web page content displayed on internet content channels; and a server, including means for establishing a data connection with the client and downloading data along the data connection to the client. 